package zgrjb.snbq.teach_platform.service;

import zgrjb.snbq.teach_platform.util.JsonData;

/**
 * 通知服务接口
 * 
 * @author system
 * @since 2024-12-28
 */
public interface NotificationService {
    
    /**
     * 创建系统通知
     */
    JsonData createSystemNotification(Long userId, String title, String content, Integer priority);
    
    /**
     * 创建任务通知
     */
    JsonData createTaskNotification(Long userId, String title, String content, 
                                   Long sourceId, String sourceType);
    
    /**
     * 获取用户通知列表
     */
    JsonData getUserNotifications(Long userId, int page, int size, String type);
    
    /**
     * 标记通知为已读
     */
    JsonData markNotificationAsRead(Long notificationId, Long userId);
    
    /**
     * 批量标记已读
     */
    JsonData markAllAsRead(Long userId);
    
    /**
     * 获取未读通知数量
     */
    JsonData getUnreadNotificationCount(Long userId);
    
    /**
     * 删除通知
     */
    JsonData deleteNotification(Long notificationId, Long userId);
    
    /**
     * 生成AI处理建议
     */
    JsonData generateAISuggestion(Long notificationId);
} 